package com.geovis.emergency.spd.entity.pc.pojo.dto;

import com.geovis.emergency.spd.entity.system.entity.SystemFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 应急预案指挥模块-演练灾害事件DTO
 * </p>
 *
 * @author Lonsho
 * @version 1.0
 * @date 2022/6/10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="PcDrillDisasterEventDTO对象", description="应急预案指挥模块-演练灾害事件DTO")
public class PcDrillDisasterEventDTO {

    @ApiModelProperty("事件id")
    private String id;

    @ApiModelProperty(value = "灾害id")
    private String pcDisasterId;

    @ApiModelProperty(value = "演练id")
    @NotEmpty(message = "演练id不能为空")
    private String pcDrillId;

    @ApiModelProperty(value = "标题")
    @NotEmpty(message = "标题不能为空")
    private String title;

    @ApiModelProperty(value = "来源")
    private String source;

    @ApiModelProperty(value = "内容")
    private String content;

    @ApiModelProperty(value = "地点")
    private String address;

    @ApiModelProperty(value = "geometry")
    private Object geometry;

    @ApiModelProperty(value = "经度")
    private String longitude;

    @ApiModelProperty(value = "纬度")
    private String latitude;

    @ApiModelProperty(value = "类型编码")
    private String eventTypeCode;

    @ApiModelProperty(value = "等级编码")
    private String eventLevelCode;

    @ApiModelProperty("事件类型")
    private String type;

    @ApiModelProperty("事件等级")
    private String level;

    @ApiModelProperty("事件类型")
    private String eventType;

    @ApiModelProperty("事件等级")
    private String eventLevel;

    @ApiModelProperty("事件阶段")
    private String eventStage;

    @ApiModelProperty(value = "报送时间")
    private LocalDateTime submitTime;

    @ApiModelProperty(value = "响应类型(1-响应消息，2-广播消息)")
    private String responseType;

    @ApiModelProperty(value = "响应动作")
    private String responseAction;

    @ApiModelProperty(value = "状态（1-待下发，2-进行中，3-已完成）")
    private String status;

    @ApiModelProperty(value = "来源类型（1-配置库，2-事件上报续报，3-事件上报新增）")
    private String sourceType;

    @ApiModelProperty(value = "台风点位id")
    private String typhoonPointId;

    @ApiModelProperty(value = "关联的演练灾害id")
    private String pcDrillDisasterId;

    @ApiModelProperty(value = "爆炸半径（米）")
    private String explosionRadius;

    @ApiModelProperty(value = "影响半径（米）")
    private String influenceRadius;

    @ApiModelProperty(value = "关联事件(pc_drill_disaster的id值)")
    private String eventId;

    @ApiModelProperty(value = "附件集合")
    private List<SystemFile> fileList;

    @ApiModelProperty("指挥调度事件Id")
    private String schedulingEventId;
}
